其他
为什么这么多人不喜欢谭浩强的C语言程序设计?
Editor's Note
大学C语言入门必备红宝书——谭浩强老爷子的《C程序设计》,你觉得这本书写得怎么样?
The following article is from 嵌入式ARM Author 嵌入式ARM
1958年毕业于清华大学自动控制系。
其实最令我印象深刻的是:i+=(++i)+(i++)这种类型的代码。我相信你肯定见过且做过,直到现在仍有不少人为之苦恼,其实此类代码的来源就是这里。我们讲理论目的是指导实践,但是这种堆叠式地靠运算符优先级的写法真的意义不大,实际工程中代码的目标是简单易懂且有效,难道仅仅是为了考察运算优先级?
1. 这是本烂书。
2. 作为一本烂书,却借着谭的所谓权威名头,年复一年地祸害一代又一代的学生——这才是最令人愤怒的!
谭书中的错误已有无数人吐槽过了。我自己的一个栗子:当年跟着这本书学的#include "xxxx.c"。
说穿了就是:谭根本沒有C的实际开发经验,只知钻语法的牛角尖。而C恰恰是—门存在着很多“语法上不算错,但实际不能这么写”的语言。谭的书给初学者很多这样的误导。
谭的成名是因为当年在电视上讲的BASIC课程,在那个资料匮乏的年代,应该说谭的课程在计算机教育的启蒙普及上起到了作用。但实事求是的讲,谭当年的这些课程,也就好比一个闭塞山区里的乡村教师自己编的土教材,在没有更好的选择下聊胜于无。但随着社会的巨大进步,后来已经有更多更好的教材可用,他早该退出历史舞台。那样的话,也许他的历史形象更令人尊敬。而多年以来,他的书依然凭借行政权力倚老卖老地霸占着全国那么多的学校,大言不惭的标榜“销量千万”,这就很无耻了,让人鄙视也不为怪了。
我觉得,谭浩强书最大的优点就是特别容易懂(刚看有的答主和我的看法完全相反啊。。。),我指的易懂是指看他的书能很容易的自己写出正确的程序(至于代码风格不好,至少不是错误)。我开始接触C语言是在大概初二的时候,当时我第一本书买的就是第五版谭浩强。对于我们西北的这些信息弱省来说,初中那会大部分学生还不知道编程是什么。以此为背景,他的书能让我在完全没有基础的情况下几个月里学会C语言,易懂性是值得肯定的()。
▍这本书实际上培养了一大批的人
【参考资料】
1、知乎 . 《为什么说谭浩强的书是坑?》
2、佚名 . 《怎样评价谭浩强版<C程序设计>?》
3、佚名 . 《为什么这么多人不喜欢谭浩强的C语言程序设计?》
-END-